#pragma once
#include <iostream>
#include <semaphore.h>

namespace SemModule
{
    class Sem
    {
        public:
         Sem(int n)
         {
            sem_init(&_sem,0,n);
         }
         ~Sem()
         {
            sem_destroy(&_sem);
         }
        void P()
         {
            //等待信号量信号值-1
            sem_wait(&_sem);
         }
         void V()
         {
            sem_post(&_sem);
         }
        private:
        sem_t _sem;
    };
}